/*
 * OrdenDeAparicion.cpp
 *
 *  Created on: 06/11/2013
 *      Author: Miguel
 */

#include "Vocabulario.h"

Vocabulario::Vocabulario() {
	path_vocabulario = "Archivos de la lista/vocabulario/VOCABULARIO.txt";
	path_irrelevantes = "Archivos de la lista/vocabulario/irrelevantes.txt";
}

Vocabulario::~Vocabulario() {
}

BigInt Vocabulario::agregarYDevolverID(const String& termino) {
	BigInt id = 1;
	String vocablo;
	std::ifstream vocabularioIN(path_vocabulario.c_str());
	std::ofstream vocabularioOUT(path_vocabulario.c_str(), vocabularioOUT.app);

	while (handler.leerPalabra(vocablo, vocabularioIN)) {
		if (termino.compare(vocablo) == 0)
			return id;
		id++;
	}
	if (handler.agregarPalabra(termino + '\n', vocabularioOUT))
		Impresor::imprimirLinea(
				("Se agrego: '" + termino + "' al vocabulario.").c_str());

	return id;
}


bool Vocabulario::terminoIrrelevante(const String& termino) {
	std::ifstream documento( path_irrelevantes.c_str() );
	String terminoIrrelevante;
	while( handler.leerPalabra(terminoIrrelevante, documento) ) {
		if( terminoIrrelevante.compare(termino) == 0)
			return true;
	}
	documento.close();
	return false;
}
